Portable computing devices are quickly gaining popularity in part due to their ease of mobility. Secure association of two devices, also known as device pairing, may be an important component of network security for mobile computing devices. Secure association generally involves the secure exchange of cryptographic information between two devices so that they are able to communicate securely over insecure communication channels. For example, some wireless headsets may be securely paired with a phone so that the communication between them is secure.
Some current implementations may allow for exchange of cryptographic keys between two devices over insecure wireless channels such that no eavesdropper may decode the cryptographic information (for example, the Diffie-Hellman protocol). However, the Diffie-Hellman protocol is susceptible to a man-in-the-middle attack in which each of the two devices wishing to pair may instead associate with a third device (i.e., the man-in-the-middle attacker) without realizing it. One approach that may prevent this type of attack uses an out-of-band (OOB) channel to authenticate the devices involved in the Diffie-Hellman exchange with each other. An OOB channel generally refers to a mechanism for sending and/or receiving information to/from another device without using the main communication channel. For example, common OOB channels may include Near Field Communications (NFC), or the entry of a password on both devices (which is then verified as being the same on both ends), or the display of a password on one device that needs to be entered on the other device.
One basic requirement of these OOB channels can be that they involve a human to verify whether the two devices that wish to pair are legitimate devices and then use the human to complete the authentication process. So in the case of NFC, for example, a person may have to bring the two devices within NFC communication range (which may be a few centimeters in some current implementations), while in the case of the password entry, the person actually enters the same password on both devices.
One limitation of OOB channels is that many allow only one-way communication due to size and/or cost constraints. For example, in the case of NFC, data is typically allowed to flow from a first device (e.g., tag device) to a second device (e.g., reader device). Hence, the channel is effectively unidirectional. In such cases, common device pairing standards (e.g., WiFi Protected Setup and Bluetooth Simple Pairing) stipulate that one of the devices send some information (e.g, secret) over the OOB channel and use knowledge of that information for authentication purposes. However, the OOB channel is not necessarily private and hence an eavesdropper (or man-in-the-middle attacker) could potentially obtain the secret over the OOB channel and masquerade as the second device. Here, only the first device gets authenticated and not the second device. Effectively, this means that only one-way authentication occurs, which means that a man-in-the-middle attack still remains possible for one direction of the communication.